package com.bifrost.service;

import com.bifrost.entity.MerchantStore;
import com.bifrost.entity.ProductBrand;
import com.bifrost.entity.User;
import com.bifrost.model.brand.BrandModel;
import com.bifrost.model.brand.ProductBrandModel;
import com.bifrost.model.vo.PageVO;

import java.math.BigInteger;
import java.util.List;
import java.util.Map;

/**
 * @author rangf
 * @date 2018/3/28
 */
public interface BrandService {

    public ProductBrand getById(Long brandId);
    public List<ProductBrand> getBrands(Long categoryId);
    public List<ProductBrand> getBrands(List<BigInteger> categoryIds);
    public Map<String, List<BrandModel>> getBrandsModel(Long categoryId);
    public List<BrandModel> getStoreBrands(MerchantStore store);

    PageVO findAllPage(Integer page, Integer size, String key, String owner, String origin , String externalId);

    void addBrand(User user , ProductBrandModel brandModel);

    void delete(User user , List<Long> brandId);      // 将跟user所有相关的都删除

    ProductBrandModel findOne(Long brandId);

    List findAll();

    List<BrandModel> getStoreBrands(String queryKey);
}
